Some existing location services provide position information to requesting computing devices based on crowd-sourced data. In such systems, the requesting computing devices provide a set of observed beacons and the location services return an approximate position of the requesting computing devices based on the set of observed beacons.
While some of the location services consider the signal strengths detected by the computing device when observing the beacons, the accuracy of the determined position suffers due to the large variations in detected signal strengths. The signal strengths may vary based on location and environment. In the example of mobile devices, the signal strength varies due to interference and multipath on the radio channel, even for mobile devices at the same location. The signal strength may also vary based on orientation of the mobile devices and the presence of any surrounding objects (e.g., including human bodies). Further, signal strength values may differ based on different mobile device models and even among different mobile devices of the same model.